package com.erp.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 查询条件类
 */
@ApiModel(value = "扩展类")
public class CommonVo implements Serializable {

    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * id集合
     */
    private List<String> idList;

    /**
     * 单据类型
     * 1：草稿
     * 2：待批
     * 3：已批
     * 4：完成
     * 5：垃圾
     */
    @ApiModelProperty(value = "单据类型")
    private String boxStatus;

    /**
     * 单据信息
     */
    @ApiModelProperty(value = "单据信息")
    private String numberLike;

    /**
     * 创建日期
     */
    @ApiModelProperty(value = "创建日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 创建时间段
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date startCreateTime;
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date endCreateTime;

    /**
     * 操作员
     */
    @ApiModelProperty(value = "操作员")
    private String executor;

    /**
     * 业务员
     */
    @ApiModelProperty(value = "业务员")
    private String salesman;

    /**
     * 制单公司
     */
    @ApiModelProperty(value = "制单公司")
    private String complaintUnit;

    /**
     * 币种编码
     */
    private String currency;

    private int pageNum;
    private int pageSize;

    private String inquiryPlatformCode;

    public String getInquiryPlatformCode() {
        return inquiryPlatformCode;
    }

    public void setInquiryPlatformCode(String inquiryPlatformCode) {
        this.inquiryPlatformCode = inquiryPlatformCode;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public List<String> getIdList() {
        return idList;
    }

    public void setIdList(List<String> idList) {
        this.idList = idList;
    }

    public String getBoxStatus() {
        return boxStatus;
    }

    public void setBoxStatus(String boxStatus) {
        this.boxStatus = boxStatus;
    }

    public String getNumberLike() {
        return numberLike;
    }

    public void setNumberLike(String numberLike) {
        this.numberLike = numberLike;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getStartCreateTime() {
        return startCreateTime;
    }

    public void setStartCreateTime(Date startCreateTime) {
        this.startCreateTime = startCreateTime;
    }

    public Date getEndCreateTime() {
        return endCreateTime;
    }

    public void setEndCreateTime(Date endCreateTime) {
        this.endCreateTime = endCreateTime;
    }

    public String getExecutor() {
        return executor;
    }

    public void setExecutor(String executor) {
        this.executor = executor;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public String getComplaintUnit() {
        return complaintUnit;
    }

    public void setComplaintUnit(String complaintUnit) {
        this.complaintUnit = complaintUnit;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public int getPageNum() {
        return pageNum;
    }

    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }


    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("{");
        sb.append(" \"id\":").append(id);
        sb.append(", \"idList\":").append(idList);
        sb.append(", \"boxStatus\":\"").append(boxStatus).append('\"');
        sb.append(", \"numberLike\":\"").append(numberLike).append('\"');
        sb.append(", \"createTime\":\"").append(createTime).append('\"');
        sb.append(", \"startCreateTime\":\"").append(startCreateTime).append('\"');
        sb.append(", \"endCreateTime\":\"").append(endCreateTime).append('\"');
        sb.append(", \"executor\":\"").append(executor).append('\"');
        sb.append(", \"salesman\":\"").append(salesman).append('\"');
        sb.append(", \"complaintUnit\":\"").append(complaintUnit).append('\"');
        sb.append('}');
        return sb.toString();
    }
}